The problem of restricting access to and use of a computer to authorized personnel has historically been of great concern. This is especially true in systems in which two or more such computers are interconnected via a server, such that access to and use of software and data stored on the server must also be restricted only to authorized users. Clearly, any acceptable computer security system must strike a balance between the need to fully prevent unauthorized users from access and use with the need to avoid imposing undue burdens on access and use by authorized users.
Perhaps the most common means of implementing a computer security system is to include a password lock function in a keyboard or other input device controller of the computer such that interaction with the computer is inhibited until a valid password has been entered. While this type of system is acceptable for many applications, it suffers certain deficiencies, not the least of which is that users have been known to share their supposedly "secret" passwords with others, thereby potentially breaching the security of the overall system.
Another deficiency inherent in the above-described type of security system is that it typically requires a user wanting to access the computer to perform a number of operations in a certain sequence. For example, when a user first desires to use his or her computer upon arrival at work in the morning, the user must switch on the computer, wait for it to power up and begin booting up, wait for a prompt to be displayed, enter his or her user ID, wait for another prompt, enter his or her password, and then wait for the computer to finish booting up before the user can access the computer. While this entire sequence typically takes only a few minutes, it is apparent that much of the user's time during the execution of the sequence is spent waiting until the computer is ready to accept additional input from the user. As a result, much of the user's time is wasted during this sequence due to the fact that, while the user need not be continually inputting information, he or she is not able to leave the computer to boot up unattended.
Therefore, what is needed is a method and apparatus for automatically implementing computer power up and user logon functions responsive to a single user action.